//package com.ruoyi.iot.oauth;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.core.annotation.Order;
//import org.springframework.security.config.annotation.web.builders.HttpSecurity;
//import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
//import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
//import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
//import org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationManager;
//import org.springframework.security.oauth2.provider.token.TokenStore;
//import org.springframework.security.oauth2.provider.token.store.JdbcTokenStore;
//
//import javax.sql.DataSource;
//
//@Configuration
//@EnableResourceServer
//public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
//
//    @Autowired
//    private DataSource dataSource;
//
//    @Override
//    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
//        TokenStore tokenStore = jdbcTokenStore();
//        OAuth2AuthenticationManager auth2AuthenticationManager= new OAuth2AuthenticationManager();
//        resources.authenticationManager(auth2AuthenticationManager);
//        resources.resourceId("speaker-service").tokenStore(tokenStore).stateless(true);
//    }
//
//    @Override
//    public void configure(HttpSecurity http) throws Exception {
//        // 限制资源服务器只接管匹配的资源
//        http.requestMatchers().antMatchers("/oauth/speaker/**")
//                .and()
//                //授权的请求
//                .authorizeRequests()
//                .anyRequest().authenticated()
//                //关闭跨站请求防护
//                .and()
//                .csrf().disable();
//    }
//
//    public TokenStore jdbcTokenStore(){
//        TokenStore tokenStore = new JdbcTokenStore(dataSource);
//        return tokenStore;
//    }
//
//}
